package com.sprouting.ops.model.bo;

import com.sprouting.ops.annotations.invoke.CheckIsNullOrEmpty;
import com.sprouting.ops.annotations.invoke.CheckLength;
import com.sprouting.ops.annotations.invoke.CheckNotNull;
import com.sprouting.ops.interfaces.AddGroup;
import com.sprouting.ops.interfaces.UpdGroup;
import lombok.Data;

/**
 * 项目问题
 *
 * @author ：LX（长沙麓谷）
 * @date 创建时间： 2025/8/17 11:29
 */
@Data
public class OpsProductQuestionBo {

    /**
     * 主键
     */
    @CheckNotNull(message = "非法ID", groups = UpdGroup.class)
    @CheckIsNullOrEmpty(message = "无效ID", groups = AddGroup.class)
    private String id;
    /**
     * 产品id
     */
    @CheckNotNull(message = "请选择产品")
    private String productId;
    /**
     * 问题描述
     */
    @CheckNotNull(message = "请输入问题描述")
    @CheckLength(min = 1, max = 1500, message = "问题描述超过长度限制")
    private String problem;
    /**
     * 问题详细信息
     */
    private String problemDetailed;
    /**
     * 解决方案
     */
    private String solutionTo;
    /**
     * 出现频率;五颗星
     */
    private Integer frequency;
    /**
     * 问题状态;已过时,已解决,完成
     * @see com.sprouting.ops.interfaces.ConstantBase.ProductQuestionStatus
     */
    private Integer status;
    /**
     * 分数，分数越高，越有价值，最高100
     */
    private Double fraction;
}
